home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok46.lha / Module / AmigaGraphik.def next >
Text File  |  1993-08-15  |  5KB  |  109 lines

  1. (*
  2.  * -------------------------------------------------------------------------
  3.  *
  4.  *    :Program.    AmigaGraphik.def
  5.  *    :Contents.    Proceduren zum Öffnen und Schließen von Windows und
  6.  *    :Contents.    Screens, sowie einheitliche Zeichenoperationen.
  7.  *    :Author.    Reiner Nix
  8.  *    :Address.    Geranienhof 2, 5000 Köln 71 Seeberg
  9.  *    :Copyright.    Public Domain
  10.  *    :Language.    Modula-2
  11.  *    :Translator.    M2Amiga A-L V3.3d
  12.  *    :History.    V1.0    1.11.90
  13.  *
  14.  * -------------------------------------------------------------------------
  15.  *)
  16. DEFINITION MODULE AmigaGraphik;
  17.  
  18.  
  19. FROM    Graphics        IMPORT  TextFontPtr,TextAttr;
  20. FROM    Intuition       IMPORT  ScreenPtr,WindowPtr,NewScreen,NewWindow;
  21.  
  22.  
  23. (*
  24.  * --------------------------------------------------------------------------
  25.  * OpenScreen    öffnet funktionsgleich zu Intuition.OpenScreen einen Screen.
  26.  * CloseScreen    schließt Screen, geeignet für TermProcedure, da kontrolliert
  27.  *        wird, ob Pointer nicht NIL.
  28.  * UseScreen    Umstellen der folgenden Ausgabeoperationen bis auf weiteres
  29.  *        auf den angegebenen Screen.
  30.  * --------------------------------------------------------------------------
  31.  *)
  32. PROCEDURE OpenScreen            (VAR newScreen          :NewScreen) :ScreenPtr;
  33. PROCEDURE CloseScreen           (VAR Screen             :ScreenPtr);
  34. PROCEDURE UseScreen             (    Screen             :ScreenPtr);
  35.  
  36.  
  37. (*
  38.  * --------------------------------------------------------------------------
  39.  * OpenWindow        öffnet Window, Window.userData wird aus NIL gesetzt.
  40.  * OpenSimpleWindow    einfachst Window (0,0)-(640,256) wird geöffnet.
  41.  * CloseWindow        schließt Window, SuperBitMap wird ggf abgebaut,
  42.  *            userPort wird sauber geleert.
  43.  * UseWindow        wie UseScreen.
  44.  * NewWindowSize    Nach jedem Ändern der Windowsize nötig falls danach
  45.  *            gezeichnet wird. Stellt gewünschte ClipRegion auf
  46.  *            tatsächlich benutzte Maße ein.
  47.  * --------------------------------------------------------------------------
  48.  *)
  49. PROCEDURE OpenWindow            (VAR newWindow          :NewWindow) :WindowPtr;
  50. PROCEDURE OpenSimpleWindow    () :WindowPtr;
  51. PROCEDURE CloseWindow           (VAR Window             :WindowPtr);
  52. PROCEDURE UseWindow             (    Window             :WindowPtr);
  53. PROCEDURE NewWindowSize;
  54.  
  55.  
  56. (*
  57.  * --------------------------------------------------------------------------
  58.  * OpenFont    öffnet Zeichensatz, egal ob schon geladen oder von Diskette.
  59.  * CloseFont    schließt Zeichensatz.
  60.  * UseFont    aktiviert Zeichensatz für die nächsten Ausgaben.
  61.  * --------------------------------------------------------------------------
  62.  *)
  63. PROCEDURE OpenFont              (VAR textAttr           :TextAttr) :TextFontPtr;
  64. PROCEDURE CloseFont             (VAR Font               :TextFontPtr);
  65. PROCEDURE UseFont               (    Font               :TextFontPtr);
  66.  
  67.  
  68. (*
  69.  * --------------------------------------------------------------------------
  70.  * SetClipRegion beschränkt nachfolgende Ausgaben auf den Berecih. Arbeitet
  71.  *         nicht mit der Layers-Library, da ich nicht weis, wie das geht.
  72.  * SetColourReg     stellt das Farbregister auf Parameterwert ein.
  73.  * Clear     löscht aktuellen RastPort komplett in der Registerfarbe.
  74.  * Draw,DrawLine zeichnen Linie innerhalb der ClipRegion.
  75.  * DrawBox     zeichnet Rechteck.
  76.  * DrawCircle     zeichnet Kreis, falls dieser komplett sichtbar ist.
  77.  * DrawEllipse     zeichnet Ellipse, falls diese komplett sichtbar ist.
  78.  * FillRectangle zeichnet Recheck innerhalb der ClipRegion.
  79.  * --------------------------------------------------------------------------
  80.  *)
  81. PROCEDURE SetClipRegion         (    x1,y1, x2,y2       :INTEGER);
  82. PROCEDURE SetColourReg          (    Register,
  83.                                      Colour             :CARDINAL);
  84. PROCEDURE SetAPen               (    Register           :CARDINAL);
  85. PROCEDURE SetBPen               (    Register           :CARDINAL);
  86.  
  87. PROCEDURE Clear                 (    Register           :CARDINAL);
  88. PROCEDURE WritePixel            (    x,y                :INTEGER);
  89. PROCEDURE Move                  (    x,y                :INTEGER);
  90. PROCEDURE Draw                  (    x,y                :INTEGER);
  91. PROCEDURE DrawLine              (    x1,y1, x2,y2       :INTEGER);
  92. PROCEDURE DrawBox               (    x1,y1, x2,y2       :INTEGER);
  93. PROCEDURE DrawCircle            (    x,y, a             :INTEGER);
  94. PROCEDURE DrawEllipse           (    x,y, a,b           :INTEGER);
  95. PROCEDURE FillRectangle         (    x1,y1, x2,y2       :INTEGER);
  96.  
  97.  
  98. (*
  99.  * --------------------------------------------------------------------------
  100.  * Ausgabefunktionen, basierend auf Intuition.Text.
  101.  * --------------------------------------------------------------------------
  102.  *)
  103. PROCEDURE Write                 (    char               :CHAR);
  104. PROCEDURE WriteString           (    string             :ARRAY OF CHAR);
  105. PROCEDURE WriteInt              (    x, n               :LONGINT);
  106. PROCEDURE WriteCard             (    x, n               :LONGCARD);
  107.  
  108. END AmigaGraphik.
  109.